home *** CD-ROM | disk | FTP | other *** search
Wrap
ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) NNNNAAAAMMMMEEEE sysmp - multiprocessing control CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ttttyyyyppppeeeessss....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssyyyyssssmmmmpppp....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssyyyyssss////ssssyyyyssssiiiinnnnffffoooo....hhhh>>>> /* for SAGET and MINFO structures */ iiiinnnntttt ssssyyyyssssmmmmpppp ((((iiiinnnntttt ccccmmmmdddd,,,, ............))));;;; ppppttttrrrrddddiiiiffffffff____tttt ssssyyyyssssmmmmpppp ((((iiiinnnntttt ccccmmmmdddd,,,, ............))));;;;"""" DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _ssss_yyyy_ssss_mmmm_pppp provides control/information for miscellaneous system services. This system call is usually used by system programs and is not intended for general use. The arguments _a_r_g_1, _a_r_g_2, _a_r_g_3, _a_r_g_4 are provided for command-dependent use. As specified by _c_m_d, the following commands are available: MMMMPPPP____CCCCLLLLEEEEAAAARRRRCCCCFFFFSSSSSSSSTTTTAAAATTTT MMMMPPPP____CCCCLLLLEEEEAAAARRRRNNNNFFFFSSSSSSSSTTTTAAAATTTT MMMMPPPP____NNNNUUUUMMMMAAAA____GGGGEEEETTTTCCCCPPPPUUUUNNNNOOOODDDDEEEEMMMMAAAAPPPP MMMMPPPP____NNNNUUUUMMMMAAAA____GGGGEEEETTTTDDDDIIIISSSSTTTTMMMMAAAATTTTRRRRIIIIXXXX These are all interfaces that are used to implement various system library functions. They are all subject to change and should not be called directly by applications. MMMMPPPP____PPPPGGGGSSSSIIIIZZZZEEEE The page size of the system is returned (see _gggg_eeee_tttt_pppp_aaaa_gggg_eeee_ssss_iiii_zzzz_eeee(2)). MMMMPPPP____SSSSCCCCHHHHEEEEDDDD Interface for the _ssss_cccc_hhhh_eeee_dddd_cccc_tttt_llll(2) system call. MMMMPPPP____NNNNPPPPRRRROOOOCCCCSSSS Returns the number of processors physically configured. MMMMPPPP____NNNNAAAAPPPPRRRROOOOCCCCSSSS Returns the number of processors that are available to schedule unrestricted processes. MMMMPPPP____SSSSTTTTAAAATTTT The processor ids and status flag bits of the physically configured processors are copied into an array of _p_d_a__s_t_a_t structures to which _a_r_g_1 points. The array must be large enough to hold as many _p_d_a__s_t_a_t structures as the number of processors returned by the MMMMPPPP____NNNNPPPPRRRROOOOCCCCSSSS _ssss_yyyy_ssss_mmmm_pppp command. The _p_d_a__s_t_a_t structure and the various status bits are defined in <_s_y_s/_p_d_a._h>. MMMMPPPP____EEEEMMMMPPPPOOOOWWWWEEEERRRR The processor number given by _a_r_g_1, interpreted as an 'int', is empowered to run any unrestricted processes. This is the default for all processors. This command requires superuser authority. MMMMPPPP____RRRREEEESSSSTTTTRRRRIIIICCCCTTTT The processor number given by _a_r_g_1, interpreted as an 'int', is restricted from running any processes except those assigned to it by a MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN or MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD PPPPaaaaggggeeee 1111 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) command, a _rrrr_uuuu_nnnn_oooo_nnnn(1) command or because of hardware necessity. Note that processor 0 cannot be restricted. This command requires superuser authority. On Challenge Series machines, all timers belonging to the processor are moved to the processor that owns the clock as reported by MMMMPPPP____CCCCLLLLOOOOCCCCKKKK.... MMMMPPPP____IIIISSSSOOOOLLLLAAAATTTTEEEE The processor number given by _a_r_g_1, interpreted as an 'int', is isolated from running any processes except those assigned to it by a MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN command, a _rrrr_uuuu_nnnn_oooo_nnnn(1) command or because of hardware necessity. Instruction cache and Translation Lookaside Buffer synchronization across processors in the system is minimized or delayed on an isolated processor until system services are requested. Note that processor 0 cannot be isolated. This command requires superuser authority. On Challenge Series machines, all timers belonging to the processor are moved to the processor that owns the clock as reported by MMMMPPPP____CCCCLLLLOOOOCCCCKKKK.... MMMMPPPP____UUUUNNNNIIIISSSSOOOOLLLLAAAATTTTEEEE The processor number given by _a_r_g_1, interpreted as an 'int', is unisolated and empowered to run any unrestricted processes. This is the default system configuration for all processors. This command requires superuser authority. MMMMPPPP____PPPPRRRREEEEEEEEMMMMPPPPTTTTIIIIVVVVEEEE The processor number given by _a_r_g_1, interpreted as an 'int', has its clock scheduler enabled. This is the default for all processors. This command requires superuser authority. MMMMPPPP____NNNNOOOONNNNPPPPRRRREEEEEEEEMMMMPPPPTTTTIIIIVVVVEEEE The processor number given by _a_r_g_1, interpreted as an 'int', has its clock scheduler disabled. Normal process time slicing is no longer enforced on that processor. As a result of turning off the clock interrupt, the interrupt latency on this processor will be lower. This command requires superuser authority and is allowed only on an isolated processor. This command is not allowed on the clock processor (see MMMMPPPP____CCCCLLLLOOOOCCCCKKKK). MMMMPPPP____CCCCLLLLOOOOCCCCKKKK The processor number given by _a_r_g_1, interpreted as an 'int', is given charge of the operating system software clock (see _tttt_iiii_mmmm_eeee_rrrr_ssss(5)). This command requires superuser authority. MMMMPPPP____FFFFAAAASSSSTTTTCCCCLLLLOOOOCCCCKKKK The processor number given by _a_r_g_1, interpreted as an 'int', is given charge of the operating system software fast clock (see _tttt_iiii_mmmm_eeee_rrrr_ssss(5)). This command requires superuser authority. PPPPaaaaggggeeee 2222 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) MMMMPPPP____MMMMIIIISSSSEEEERRRR____GGGGEEEETTTTRRRREEEEQQQQUUUUEEEESSSSTTTT MMMMPPPP____MMMMIIIISSSSEEEERRRR____SSSSEEEENNNNDDDDRRRREEEEQQQQUUUUEEEESSSSTTTT MMMMPPPP____MMMMIIIISSSSEEEERRRR____RRRREEEESSSSPPPPOOOONNNNDDDD MMMMPPPP____MMMMIIIISSSSEEEERRRR____GGGGEEEETTTTRRRREEEESSSSOOOOUUUURRRRCCCCEEEE MMMMPPPP____MMMMIIIISSSSEEEERRRR____SSSSEEEETTTTRRRREEEESSSSOOOOUUUURRRRCCCCEEEE MMMMPPPP____MMMMIIIISSSSEEEERRRR____CCCCHHHHEEEECCCCKKKKAAAACCCCCCCCEEEESSSSSSSS These are all interfaces that are used to implement various _m_i_s_e_r(_1) functions. These are all subject to change and should not be called directly by applications. MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN Assigns the calling process to run only on the processor number by _a_r_g_1, interpreted as an 'int', except as required for communications with hardware devices. A process that has allocated a CC sync register (see _cccc_cccc_ssss_yyyy_nnnn_cccc(7m)) is restricted to running on a particular cpu. Attempts to reassign such a process to another cpu will fail until the CC sync register has been relinquished. This command should not be used within a pthreaded application (see _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd______ssss_eeee_tttt_rrrr_uuuu_nnnn_oooo_nnnn______nnnn_pppp(3P)). MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD Assigns the process specified by _a_r_g_2 to run only on the processor number specified by _a_r_g_1, both interpreted as 'int', except as required for communications with hardware devices. A process that has allocated a CC sync register (see _cccc_cccc_ssss_yyyy_nnnn_cccc(7m)) is restricted to running on a particular cpu. Attempts to reassign such a process to another cpu will fail until the CC sync register has been relinquished. This command will give unpredictable results if the specified process is a pthreaded process. MMMMPPPP____GGGGEEEETTTTMMMMUUUUSSSSTTTTRRRRUUUUNNNN Returns the processor the current process has been set to run on using the MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN command. If the current process has not been assigned to a specific processor, -1 is returned and errno is set to EINVAL. This command should not be used within a pthreaded application (see _pppp_tttt_hhhh_rrrr_eeee_aaaa_dddd______ssss_eeee_tttt_rrrr_uuuu_nnnn_oooo_nnnn______nnnn_pppp(3P)). MMMMPPPP____GGGGEEEETTTTMMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD Returns the processor that the process specified by _a_r_g_1 has been set to run on using the MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN or MMMMPPPP____MMMMUUUUSSSSTTTTRRRRUUUUNNNN____PPPPIIIIDDDD command. If the process has not been assigned to a specific processor, -1 is returned and errno is set to EINVAL. This command will give unpredictable results if the specified process is a pthreaded process. MMMMPPPP____RRRRUUUUNNNNAAAANNNNYYYYWWWWHHHHEEEERRRREEEE Frees the calling process to run on whatever processor the system deems suitable. MMMMPPPP____RRRRUUUUNNNNAAAANNNNYYYYWWWWHHHHEEEERRRREEEE____PPPPIIIIDDDD Frees the process specified by _a_r_g_1 to run on whatever processor the system deems suitable. PPPPaaaaggggeeee 3333 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) MMMMPPPP____KKKKEEEERRRRNNNNAAAADDDDDDDDRRRR Returns the address of various kernel data structures. The structure returned is selected by _a_r_g_1. The list of available structures is detailed in <_s_y_s/_s_y_s_m_p._h>. This option is used by many system programs to avoid having to look in ////uuuunnnniiiixxxx for the location of the data structures. MMMMPPPP____SSSSAAAASSSSZZZZ Returns the size of various system accounting structures. As above, the structure returned is governed by _a_r_g_1. MMMMPPPP____SSSSAAAAGGGGEEEETTTT1111 Returns the contents of various system accounting structures. The information is only for the processor specified by _a_r_g_4. As above, the structure returned is governed by _a_r_g_1. _a_r_g_2 points to a buffer in the address space of the calling process and _a_r_g_3 specifies the maximum number of bytes to transfer. MMMMPPPP____SSSSAAAAGGGGEEEETTTT Returns the contents of various system accounting structures. The information is summed across all processors before it is returned. As above, the structure returned is governed by _a_r_g_1. _a_r_g_2 points to a buffer in the address space of the calling process and _a_r_g_3 specifies the maximum number of bytes to transfer. Possible errors from _ssss_yyyy_ssss_mmmm_pppp are: [EPERM] The effective user ID is not superuser. Many of the commands require superuser privilege. [EPERM] The user ID of the sending process is not superuser, and its real or effective user ID does not match the real, saved, or effective user ID of the receiving process. [ESRCH] No process corresponding to that specified by a _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD, _MMMM_PPPP______GGGG_EEEE_TTTT_MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD, or _MMMM_PPPP______RRRR_UUUU_NNNN_AAAA_NNNN_YYYY_WWWW_HHHH_EEEE_RRRR_EEEE______PPPP_IIII_DDDD could be found. [EINVAL] The processor named by a _MMMM_PPPP______EEEE_MMMM_PPPP_OOOO_WWWW_EEEE_RRRR, _MMMM_PPPP______RRRR_EEEE_SSSS_TTTT_RRRR_IIII_CCCC_TTTT, _MMMM_PPPP______CCCC_LLLL_OOOO_CCCC_KKKK or _MMMM_PPPP______SSSS_AAAA_GGGG_EEEE_TTTT_1111 command does not exist. [EINVAL] The _c_m_d argument is invalid. [EINVAL] The _a_r_g_1 argument to a _MMMM_PPPP______KKKK_EEEE_RRRR_NNNN_AAAA_DDDD_DDDD_RRRR command is invalid. [EINVAL] An attempt was made via _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN or _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD to move a process owning a CC sync register from the cpu controlling the CC sync register. [EINVAL] The target of the _MMMM_PPPP______GGGG_EEEE_TTTT_MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN command has not been set to run on a specific processor. PPPPaaaaggggeeee 4444 ssssyyyyssssmmmmpppp((((2222)))) ssssyyyyssssmmmmpppp((((2222)))) [EINVAL] The target process of the _MMMM_PPPP______MMMM_UUUU_SSSS_TTTT_RRRR_UUUU_NNNN______PPPP_IIII_DDDD command is a pthreaded process. [EBUSY] An attempt was made to restrict the only unrestricted processor or to restrict the master processor. [EFAULT] An invalid buffer address has been supplied by the calling process. SSSSEEEEEEEE AAAALLLLSSSSOOOO mpadmin(1), runon(1), getpagesize(2), schedctl(2), pthread_setrunon_np(3P), timers(5) DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS Upon successful completion, the _c_m_d dependent data is returned. Otherwise, a value of -1 is returned and _e_r_r_n_o is set to indicate the error. PPPPaaaaggggeeee 5555